var productUtil = require('./mongoserver');
function proDao() {

}
//查找所有
proDao.prototype.insert = function (chartname, doc, callback) {//插入一多个
	productUtil.insertDocument(chartname, doc, callback);
}

proDao.prototype.findAll = function (chartname, sort, limit, callback) {//查找复数
	productUtil.findAllDocuments(chartname, sort, limit, callback);
}

proDao.prototype.findOne = function (chartname, openid, callback) {//查找一个
	productUtil.findOne(chartname, { openid }, callback);
}

proDao.prototype.findOneAndUpdate = function (chartname, openid, update, callback) {//查找一个
	productUtil.findOneAndUpdate(chartname, { openid }, update, callback);
}

proDao.prototype.findMany = function (chartname, openid, callback) {//查找多个
	productUtil.findAllDocument(chartname, { openid }, callback);
}

proDao.prototype.findRange = function (chartname, value1, value2, callback) {//查找一定范围内的 < 、 <= 、 > 、 >= ($lt $lte $gt $gte)
	//{"form_component_values.content.proj_create_time" :{$gte: value1, $lte: value2}}
	productUtil.findAllDocument(chartname, { "create_time": { $gte: value1, $lte: value2 }, "proj_category": "payplan" }, callback);
}

proDao.prototype.findList = function (chartname, data, callback) {//查找列表（不通用只是针对单个项目的）
	if (data["create_time"]) {
		var gte = new Date(parseInt(data.create_time)).toLocaleDateString().replace(/-/g, "/")
		var lte = new Date(parseInt(data.finish_time)).toLocaleDateString().replace(/-/g, "/")
		productUtil.findAllDocument(chartname, { "create_time": { $gte: gte, $lte: lte }, "proj_category": data.proj_category, "module_type": data.module_type }, callback);
	} else {
		productUtil.findAllDocument(chartname, data, callback);
	}
}

proDao.prototype.update = function (chartname, openid, updataData, callback) {//内容更新
	productUtil.update(chartname, { openid }, { $set: updataData }, callback);
}

proDao.prototype.delete = function (chartname, openid, callback) {//删除
	productUtil.deleteOne(chartname, { openid }, callback);
}

module.exports = new proDao();